package com.pm.buglist.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.pm.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 项目bugs列表
 * </p>
 *
 * @author wwm
 * @since 2023-12-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Bugs implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 主键id
     */
    private Long pid;

    /**
     * 唯一code
     */
    @Excel(name = "bug编码")
    private String bugCode;

    /**
     * 问题类别
     */
    @Excel(name = "问题类别")
    private String problemType;

    /**
     * bug识别标识
     */
    private String identify;

    /**
     * 严重程度
     */
    @Excel(name = "严重程度")
    private String level;

    /**
     * 设备型号
     */
    @Excel(name = "设备型号")
    private String modelCode;

    /**
     * 不良率
     */
    @Excel(name = "不良率")
    private String badPersentage;

    /**
     * bug标题
     */
    private String bugTitle;

    /**
     * bug版本
     */
    @Excel(name = "fw版本")
    private String bugVersion;

    /**
     * 异常归类
     */
    @Excel(name = "异常归类")
    private String exceptionType;

    /**
     * 异常代码
     */
    @Excel(name = "异常代码")
    private String exceptionCode;

    /**
     * 提出日期
     */
    @Excel(name = "提出日期")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @Excel(name = "提交人")
    @TableField(exist = false)
    private String createUserName;

    /**
     * bug状态，0:草稿, 10：open(打开),20:Tracking(追踪),30:Waive(废弃),40:Close(关闭)
     */
//    @Excel(name = "bug状态")
    private String bugStatus;

    /**
     * 当前处理角色状态,0:R&D 1:DQE
     * */
    private String handleStatus;

    /**
     * 产品阶段
     * */
    @Excel(name = "产品阶段")
    private String productStage;


    /**
     * 附件id
     */
    private Long fileId;

    /**
     * 电源适配器标识字符串
     * */
//    @Excel(name = "电源/适配器标识")
    private String powerSuppleId;

    /**
     * lcm_oc标识字符串
     * */
//    @Excel(name = "lcm/oc标识")
    private String lcmOcId;

    /**
     * 创建人
     */
    private Long createUser;

    /**
     * 更新人
     */
    private Long updateUser;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 关闭版本
     */
    @TableField(exist = false)
//    @Excel(name = "close fw版本")
    private String closeVersion;

    /**
     * 责任人
     */
    @TableField(exist = false)
    @Excel(name = "责任人")
    private String respon;

    /**
     * (研发)指派人(可能有多个用,隔开)
     */
    @TableField(exist = false)
    private List<Long> rdHandle;

    /**
     * (产品)指派人(可能有多个用,隔开)
     */
    @TableField(exist = false)
    private Long qdeHandle;

    /**
     * bug描述
     */
    @Excel(name = "bug描述")
    @TableField(exist = false)
    private String descriptions;

    @TableField(exist = false)
    @Excel(name = "描述图片",cellType = Excel.ColumnType.IMAGE)
    private String dImgPath;

    /**
     * 新的bug描述
     */
    @TableField(exist = false)
    private String newDescriptions;

    /**
     * bug 分析
     * */
    @Excel(name = "bug分析")
    @TableField(exist = false)
    private String analysis;

    /**
     * 回复对策
     * */
    @Excel(name = "改善对策")
    @TableField(exist = false)
    private String answer;

    @TableField(exist = false)
    private String answerTime;

    @TableField(exist = false)
    private List<Long> ids;//批量操作bug ids

    @TableField(exist = false)
    private String param;//模糊查询参数

    @TableField(exist = false)
    private String queryKey;//bugs查询是点击导航窗格的参数

    @TableField(exist = false)
    private String noCloseFlag;//不关闭标志

    @TableField(exist = false)
    private Long rdHandleUser;//研发处理人

    @TableField(exist = false)
    private Long qdeHandleUser;//品质处理人

    /**
     * bug状态文本
     */
    @Excel(name = "bug状态")
    @TableField(exist = false)
    private String bugStatusTxt;

    @Excel(name = "客户")
    @TableField(exist = false)
    private String custom;//客户
    @Excel(name = "机型")
    @TableField(exist = false)
    private String model;//机型
    @Excel(name = "项目编码")
    @TableField(exist = false)
    private String projectNo;//项目编码
    @Excel(name = "芯片组")
    @TableField(exist = false)
    private String chipGroup;//芯片组
    @Excel(name = "ad板")
    @TableField(exist = false)
    private String adBoard;//ad板
    @Excel(name = "lcm/oc")
    @TableField(exist = false)
    private String lcmOc;//lcmoc
    @Excel(name = "电源/适配器")
    @TableField(exist = false)
    private String powerSupply;//电源/适配器

    @TableField(exist = false)
    private Integer BAId;//bug分析表的id

    @TableField(exist = false)
    private String exportFlag;//导出数据标记

    @TableField(exist = false)
    private String reason;//转办时使用的转办原因字段

    @TableField(exist = false)
    private String waiveCause;//废弃的原因

    @TableField(exist = false)
    private String correctiveAction;//纠正措施


    @TableField(exist = false)
    private String oaId;//推送Oa成功创建流程的id

    @TableField(exist = false)
    private String orderStatus;//废弃单状态

    @TableField(exist = false)
    private String oaStatus;//推送oa审核的状态

    @TableField(exist = false)
    private String oaResult;//审批结果

    @TableField(exist = false)
    private String woRemarks;

    @TableField(exist = false)
    private String putOATab;
}
